home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3c / rand.z / rand
Encoding:
Text File  |  2002-10-03  |  3.9 KB  |  67 lines

  1.  
  2.  
  3.  
  4. rrrraaaannnndddd((((3333CCCC))))                                                              rrrraaaannnndddd((((3333CCCC))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _rrrr_aaaa_nnnn_dddd, _ssss_rrrr_aaaa_nnnn_dddd, _rrrr_aaaa_nnnn_dddd______rrrr - simple random-number generator
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_tttt_dddd_llll_iiii_bbbb_...._hhhh_>>>>
  13.  
  14.      _iiii_nnnn_tttt _rrrr_aaaa_nnnn_dddd _((((_vvvv_oooo_iiii_dddd_))))_;;;;
  15.  
  16.      _iiii_nnnn_tttt _rrrr_aaaa_nnnn_dddd______rrrr _((((_uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _****_ssss_eeee_eeee_dddd_))))_;;;;
  17.  
  18.      _vvvv_oooo_iiii_dddd _ssss_rrrr_aaaa_nnnn_dddd _((((_uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _ssss_eeee_eeee_dddd_))))_;;;;
  19.  
  20. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  21.      _rrrr_aaaa_nnnn_dddd uses a multiplicative congruent random-number generator with period
  22.      2^32 that returns successive pseudo-random numbers in the range from 0 to
  23.      (2^15)-1.
  24.  
  25.      The function _ssss_rrrr_aaaa_nnnn_dddd uses the argument _s_e_e_d as a seed for a new sequence of
  26.      pseudo-random numbers to be returned by subsequent calls to the function
  27.      _rrrr_aaaa_nnnn_dddd.  If the function _ssss_rrrr_aaaa_nnnn_dddd is then called with the same _s_e_e_d value, the
  28.      sequence of pseudo-random numbers will be repeated.  If the function _rrrr_aaaa_nnnn_dddd
  29.      is called before any calls to _ssss_rrrr_aaaa_nnnn_dddd have been made, the same sequence
  30.      will be generated as when _ssss_rrrr_aaaa_nnnn_dddd is first called with a _s_e_e_d value of 1.
  31.  
  32.      _rrrr_aaaa_nnnn_dddd______rrrr is a reentrant version of _rrrr_aaaa_nnnn_dddd.  If _rrrr_aaaa_nnnn_dddd______rrrr is called with the same
  33.      initial value for *_s_e_e_d and the value of *_s_e_e_d is not changed between
  34.      successive returns and calls to _rrrr_aaaa_nnnn_dddd______rrrr, the same sequence shall be
  35.      generated.  This function is useful when multiple threads in a process
  36.      each wish to get their own repeatable pseudo-random number sequence.  The
  37.      feature test macro ______SSSS_GGGG_IIII______RRRR_EEEE_EEEE_NNNN_TTTT_RRRR_AAAA_NNNN_TTTT______FFFF_UUUU_NNNN_CCCC_TTTT_IIII_OOOO_NNNN_SSSS should be defined to make
  38.      this function visible.
  39.  
  40. NNNNOOOOTTTTEEEESSSS
  41.      The spectral properties of _rrrr_aaaa_nnnn_dddd are limited.  _dddd_rrrr_aaaa_nnnn_dddd_4444_8888(3C) and _rrrr_aaaa_nnnn_dddd_oooo_mmmm(3B)
  42.      provide a much better, though more elaborate, random-number generator.
  43.  
  44.      In a multi-threaded program _rrrr_aaaa_nnnn_dddd is made MP safe by single-threading
  45.      access to the shared seed.  For best performance threaded applications
  46.      should use _rrrr_aaaa_nnnn_dddd______rrrr instead.
  47.  
  48. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  49.      _dddd_rrrr_aaaa_nnnn_dddd_4444_8888(3C), _rrrr_aaaa_nnnn_dddd_oooo_mmmm(3B)
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.